<?php

namespace app\test\controller;

use gmars\rbac\Rbac;

class Index
{
    public function index()
    {
        $rbac = new Rbac();
        // 初始化rbac所需的表
//        $rbac->createTable();
        // 创建权限分组, 编辑和修改调用同一个方法编辑时请在参数中包含主键id的值
//        $rbac->savePermissionCategory([
//            'name' => '用户管理组',
//            'description' => '网站用户的管理',
//            'status' => 1,
//            'create_time' => time(),
//        ]);

        // 创建权限节点
        // 如果为修改则在传入参数数组中加入主键id的键值
        // type为权限类型1为后端权限2为前端权限主要考虑到spa使用
        // category_id为上一步创建的权限分组的id
        // 创建成功返回添加的该条权限数据，错误抛出异常
//        $rbac->createPermission([
//            'name' => '文章列表查询',
//            'description' => '文章列表查询',
//            'status' => 1,
//            'type' => 1,
//            'category_id' => 4,
//            'path' => 'article/content/list',
//            'create_time' => time(),
//        ]);
//        $rbac->createPermission([
//            'name' => '文章修改',
//            'description' => '文章修改',
//            'status' => 1,
//            'type' => 1,
//            'category_id' => 4,
//            'path' => 'article/content/update',
//            'create_time' => time(),
//        ]);

        // 创建角色&给角色分配权限
//        $rbac->createRole([
//            'name' => '内容管理员',
//            'description' => '负责网站内容管理',
//            'status' => 1,
////            'sort_num' => 1
//        ], '1,2,3');

        // 给用户分配角色
//        $rbac->assignUserRole(1, [1]);

        $p = $rbac->cachePermission(1);

        $can = $rbac->can('article/content/list');
        vdd($p, $can);exit;
    }
}
